﻿using System;

namespace Aeon.Emulator.Decoding
{
    /// <summary>
    /// Specifies a string used for parsing operands.
    /// </summary>
    [AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
    internal sealed class OperandStringAttribute : Attribute
    {
        #region Constructors
        /// <summary>
        /// Initializes a new instance of the OperandStringAttribute class.
        /// </summary>
        /// <param name="operandString">Token string representing the operand type.</param>
        public OperandStringAttribute(string operandString)
        {
            this.operandString = operandString;
        }
        #endregion

        #region Public Properties
        /// <summary>
        /// Gets the token string representing the operand type.
        /// </summary>
        public string OperandString
        {
            get { return this.operandString; }
        }
        #endregion

        #region Private Fields
        /// <summary>
        /// Token string representing the operand type.
        /// </summary>
        private readonly string operandString;
        #endregion
    }
}
